package com.example.demo.Calss16_graph;


/**
 * 数据结构：图
 *  图：  有向图： 有环图
 *       无向图： 典型 特殊的双向节点链表
 * 图的遍历：
 *      深度遍历    dfs
 *      宽度遍历    bfs
 * 排序：
 *      图的拓普排序 ：排序结果可以不唯一
 *
 * 图结构统一抽象化
 *      节点Node：
 *          值 value 节点内容值 泛型 T
 *          入度 in  有多少个节点指向此节点  入边 类型 int
 *          出度 out 此节点向外延伸出多少 节点（出边）
 *          邻居 nexts List<Node>类型
 *          边   edges List<Edge>类型
 *      边Edge：
 *          权重  weight  类型 int
 *          来自： from   类型 Node
 *          去出： to     类型 Node
 *      图Graph：
 *          节点： HashMap<Integer,Node> 根据key找到Node
 *          边：  HashSet<Edge>   边集合
 *
 */